package com.hjm.project.walletDetails.walletDetails.service;

import java.util.List;
import java.util.Map;

import com.hjm.framework.web.domain.AjaxResult;
import com.hjm.project.walletDetails.walletDetails.domain.PaymentExport;
import com.hjm.project.walletDetails.walletDetails.domain.WalletDetails;

/**
 * 服务商钱包明细Service接口
 * 
 * @author WalletDetails
 * @date 2020-11-25
 */
public interface IWalletDetailsService
{
    /**
     * 查询服务商钱包明细
     * 
     * @param id 服务商钱包明细ID
     * @return 服务商钱包明细
     */
    public WalletDetails selectwalletDetailsById(Long id);

    /**
     * 查询服务商钱包明细列表
     * 
     * @param walletDetails 服务商钱包明细
     * @return 服务商钱包明细集合
     */
    public List<WalletDetails> selectwalletDetailsList(WalletDetails walletDetails);
    public List<Map> agentAccountList(Map params);
    public Map agentAccountListSum(Map params);

    /**
     * 新增服务商钱包明细
     * 
     * @param walletDetails 服务商钱包明细
     * @return 结果
     */
    public int insertwalletDetails(WalletDetails walletDetails);

    public int saveAccountUpdate(Map map);

    public AjaxResult saveAccountAdjust(Map map);

    /**
     * 修改服务商钱包明细
     * 
     * @param walletDetails 服务商钱包明细
     * @return 结果
     */
    public int updatewalletDetails(WalletDetails walletDetails);

    public int updateAgentAccount(Map params);

    /**
     * 批量删除服务商钱包明细
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deletewalletDetailsByIds(String ids);

    /**
     * 删除服务商钱包明细信息
     * 
     * @param id 服务商钱包明细ID
     * @return 结果
     */
    public int deletewalletDetailsById(Long id);

    /**
     * 查询文件导出数据
     * @param walletDetails WalletDetails
     * @return List
     */
    List<WalletDetails> selectPaymentList(WalletDetails walletDetails);

    /**
     * 钱宝代付导出数据
     * @param walletDetails WalletDetails
     * @return List
     */
    List<PaymentExport> exportPaymentList(WalletDetails walletDetails) throws Exception;

    /**
     * 标记失败
     * @param ids String
     * @return int
     */
    int markingFailed(String ids);
}
